﻿using System;
using System.Collections.Generic;
using Moe.ECamel.Common.Entities;

namespace Moe.ECamel.Common.Contracts
{
	/// <summary>
	/// Encapsulates the results of a successful login.
	/// </summary>
	public class LoginResponse
	{
		/// <summary>
		/// If login could not be completed, contains the error.
		/// </summary>
		public ECamelError LoginError { get; set; }
		/// <summary>
		/// 
		/// </summary>
		public int UserId { get; set; }
		/// <summary>
		/// User name of logged user.
		/// </summary>
		public String Username { get; set; }
		/// <summary>
		/// Operations the logged user is entitled to do.
		/// </summary>
		public HashSet<String> Operations { get; set; }
		/// <summary>
		/// User's primary role.
		/// </summary>
		public int PrimaryRole { get; set; }
		public Library Library { get; set; }
		public Customer Customer { get; set; }
	}
}